#ifndef __RENORM_DIA_H__
#define __RENORM_DIA_H__
#include "graph.h"
#include "utils.h"
#include "field.h"
#include "projector.h"
class graph_sub_term
{
 public:
  graph_sub_term(Graphref_lst, dia_ext_legs&);
};

/// enum for pair fields 
//enum{momentum,field};



class renorm_dia
{
  int  dia_number;
  dia_ext_legs dia_legs;
  Graph G;
  //  std::map<Graph::vertex_descriptor,ex> normalized_momentum_map; // p1 and p2 in two lines begin p1+p2on one line 
 std::vector<Graph::vertex_descriptor> G_ext_vert_vector;
 sorted_sum_of_M_prod M_list;
 public:
  renorm_dia(Graph&, map_ext_legs&);
};
#endif //__RENORM_DIA_H__
